package com.group01.validation;

import com.group01.annotation.Color;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
public class ColorValidation implements ConstraintValidator<Color, String> {


    @Override
    public boolean isValid(String value, ConstraintValidatorContext context) {
        // 正则表达式，匹配#后面跟着6位或3位十六进制字符的情况
        String hexColorRegex = "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$";

        // 判断是否为十六进制颜色代码
        // 不符合以上两种情况则视为无效
        if (value.matches(hexColorRegex)) {
            return true;
        }
        // 如果不以 '#' 开头，则假定为纯文本
        else return !value.startsWith("#");
    }

}



